1, Technical Field
The present application relates generally to an improved data processing system and method. More specifically, the present application is directed to converged call flow modeling and converged Web service interface design.
2, Description of Related Art
Session initiation protocol (SIP) is a signaling protocol used to setup multi-media sessions. SIP is a core protocol in the Internet protocol (IP) multimedia subsystem (IMS) architecture. The SIP programming model for the Java™ 2 Platform, Enterprise Edition (J2EE) application server environment consists of a SIP servlet container. Applications are structured as servlet logic, and lower-level communication is handled by the container.
The SIP programming model lends itself to associating servlets with segments of a call flow. A complex application will typically have multiple servlets as part of its implementation, where an individual servlet will handle different aspects of the flow. Hand-off between servlets is accomplished by setting another servlet as a message handler at a particular point in the call flow.
There have been many efforts to describe SIP call flows in extensible markup language (XML) format. SIP call flows are commonly expressed visually. A call flow describes the order of SIP requests and HTTP requests. This order is idealistic; out-of-order delivery may affect the exchange in reality. However, protocols typically define certain precedence rules that can be used to reason about the protocol. A call flow may be divided into segments, each representing a snippet of call flow logic.
The hypertext transfer protocol (HTTP) is one of the base transport protocols of the World Wide Web. A typical programming model for handling Web requests is via the HTTP servlet programming model. The service-oriented architecture (SOA) is a standardized interface between software so that one program can utilize the functions (services) of another program. SOA typically refers to Web services. Simple object access protocol (SOAP) is a message-based protocol based on XML for accessing services on the Web. SOAP employs XML syntax to send text commands across the Internet using HTTP.
A converged application is an application that communicates over different protocols to accomplish a singular purpose. Each protocol interaction typically contains its own session. The converged application bridges two or more sessions. One way to implement converged applications is through session affinity, where related SIP and HTTP sessions are associated and live in a particular cluster member, and all requests that belong to either type of session are routed to that particular cluster member.